IShader

This interface is currrently a Shader factory.

Members

Functions

bind
void bind(ShaderProgram program)
Undocumented in source.
bindArrayOfTextures
void bindArrayOfTextures(ShaderProgram prog, IHipTexture[] textures, string varName)

Each graphics API has its own way to bind array of textures, thus, this version was required.

compileShader
bool compileShader(FragmentShader fs, string shaderSource)
Undocumented in source.
compileShader
bool compileShader(VertexShader vs, string shaderSource)
Undocumented in source.
createFragmentShader
FragmentShader createFragmentShader()
Undocumented in source.
createShaderProgram
ShaderProgram createShaderProgram()
Undocumented in source.
createVariablesBlock
void createVariablesBlock(ShaderVariablesLayout layout)
Undocumented in source.
createVertexShader
VertexShader createVertexShader()
Undocumented in source.
deleteShader
void deleteShader(FragmentShader* fs)

Used as intermediary for deleting non program intermediary in opengl

deleteShader
void deleteShader(VertexShader* vs)

Used as intermediary for deleting non program intermediary in opengl

dispose
void dispose(ShaderProgram )
Undocumented in source.
getId
int getId(ShaderProgram prog, string name)
Undocumented in source.
linkProgram
bool linkProgram(ShaderProgram program, VertexShader vs, FragmentShader fs)
Undocumented in source.
onRenderFrameEnd
void onRenderFrameEnd(ShaderProgram program)
Undocumented in source.
sendVars
void sendVars(ShaderProgram prog, ShaderVariablesLayout[string] layouts)
Undocumented in source.
sendVertexAttribute
void sendVertexAttribute(uint layoutIndex, int valueAmount, uint dataType, bool normalize, uint stride, int offset)
Undocumented in source.
setBlending
void setBlending(ShaderProgram prog, HipBlendFunction src, HipBlendFunction dst, HipBlendEquation eq)
Undocumented in source.
setShaderVar
bool setShaderVar(ShaderVar* sv, ShaderProgram prog, void* value)
Undocumented in source.
unbind
void unbind(ShaderProgram program)
Undocumented in source.

Meta